package psrc.logic.pages.pedido;

import java.sql.Date;
import java.util.List;

import psrc.logic.pages.base.ControllerBase;
import psrc.logic.util.beans.ClienteBean;
import psrc.logic.util.beans.FabricaBean;
import psrc.logic.util.beans.PedidoBean;
import psrc.logic.util.beans.ProdutoBean;
import psrc.logic.util.beans.RepresentanteBean;

public class SendPedidoInsertController extends ControllerBase {

	private static final long serialVersionUID = 1L;

	private String dataPedido;
	private String dataEnvio;
	private String dataConfirmacao;
	private String numeroPedido;
	private String parcelas;
	private String dataFaturamento;
	private String dataLiquidacao;
	private String dataEntrega;
	private String status;
	private String comissao;
	private String observacoes;
	private List<RepresentanteBean> representanteList;
	private List<ClienteBean> clienteList;
	private List<FabricaBean> fabricaList;
	private List<ProdutoBean> produtoList;
	private String[] produtoCheckbox;

	
	
	public List<ProdutoBean> getProdutoList() {
		return produtoList;
	}

	public void setProdutoList(List<ProdutoBean> produtoList) {
		this.produtoList = produtoList;
	}

	public List<RepresentanteBean> getRepresentanteList() {
		return representanteList;
	}

	public void setRepresentanteList(List<RepresentanteBean> representanteList) {
		this.representanteList = representanteList;
	}

	public List<ClienteBean> getClienteList() {
		return clienteList;
	}

	public void setClienteList(List<ClienteBean> clienteList) {
		this.clienteList = clienteList;
	}

	public List<FabricaBean> getFabricaList() {
		return fabricaList;
	}

	public void setFabricaList(List<FabricaBean> fabricaList) {
		this.fabricaList = fabricaList;
	}

	public String[] getProdutoCheckbox() {
		return produtoCheckbox;
	}

	public void setProdutoCheckbox(String[] produtoCheckbox) {
		this.produtoCheckbox = produtoCheckbox;
	}

	public String getDataPedido() {
		return dataPedido;
	}

	public void setDataPedido(String dataPedido) {
		this.dataPedido = dataPedido;
	}

	public String getDataEnvio() {
		return dataEnvio;
	}

	public void setDataEnvio(String dataEnvio) {
		this.dataEnvio = dataEnvio;
	}

	public String getDataConfirmacao() {
		return dataConfirmacao;
	}

	public void setDataConfirmacao(String dataConfirmacao) {
		this.dataConfirmacao = dataConfirmacao;
	}

	public String getNumeroPedido() {
		return numeroPedido;
	}

	public void setNumeroPedido(String numeroPedido) {
		this.numeroPedido = numeroPedido;
	}

	public String getParcelas() {
		return parcelas;
	}

	public void setParcelas(String parcelas) {
		this.parcelas = parcelas;
	}

	public String getDataFaturamento() {
		return dataFaturamento;
	}

	public void setDataFaturamento(String dataFaturamento) {
		this.dataFaturamento = dataFaturamento;
	}

	public String getDataLiquidacao() {
		return dataLiquidacao;
	}

	public void setDataLiquidacao(String dataLiquidacao) {
		this.dataLiquidacao = dataLiquidacao;
	}

	public String getDataEntrega() {
		return dataEntrega;
	}

	public void setDataEntrega(String dataEntrega) {
		this.dataEntrega = dataEntrega;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getComissao() {
		return comissao;
	}

	public void setComissao(String comissao) {
		this.comissao = comissao;
	}

	public String getObservacoes() {
		return observacoes;
	}

	public void setObservacoes(String observacoes) {
		this.observacoes = observacoes;
	}

	@Override
	public String executeController() throws Exception {
		PedidoModel model = new PedidoModel();

		// TODO isso funciona?
		PedidoBean bean = new PedidoBean();
		bean.setDataConfirmacao(Date.valueOf(dataConfirmacao));
		bean.setDataEntrega(Date.valueOf(dataEntrega));
		bean.setDataEnvio(Date.valueOf(dataEnvio));
		bean.setDataFaturamento(Date.valueOf(dataFaturamento));
		bean.setDataLiquidacao(Date.valueOf(dataLiquidacao));
		bean.setDataPedido(Date.valueOf(dataPedido));
		bean.setNumeroPedido(numeroPedido);
		bean.setObservacoes(observacoes);

		if (model.insert(bean, null, null, null)) {
			addActionMessage(getText("pedido.successful"));
			return SUCCESS;
		} else {
			addActionError(getText("pedido.error.incomplete"));
			return ERROR;
		}
	}

}
